<?php

/**
 * \file
 * Classe `mail`.
 */

namespace pilar\Entities /* \cond */ ; /* \endcond */
{

/**
 * Membre adresse mail.
 *
 * \since 17/11/2008
 * \author Matthieu OVIEDO <matthieu.oviedo@gmail.com>
 */
class Mail extends String {

protected function loadDefaultParams() {
 parent::loadDefaultParams();

 $this->params->set(array(
  'name' => 'mail',
  'caption' => 'mail'
 ));
}


/**
 * Vérifie que la valeur assignée au membre soit bien une adresse
 * mail valide syntaxiquement.
 *
 * \since 17/11/2008
 * \return \c TRUE si \a $value est une adresse mail, \c FALSE sinon.
 */
public function acceptsFieldValue($fieldName, $value) {
 $v = trim($value);
 if($v == '') return true;
 return preg_match("/^[[:alnum:]][a-z0-9_.-]*@[a-z0-9.-]+\.[a-z]{2,4}$/i", $v);
}

} // Class.

} // Namespace.

?>
